package com.backend.common;

import com.fasterxml.jackson.databind.ser.Serializers;

/**
 * 返回工具类,(ok. error)
 */
public class ResultUtils {
    /**
     * 成功
     * @param data 返回的数据
     * @param <T> 泛型
     * @return BaseResponse<T>
     */
    public static <T> BaseResponse<T> ok(T data) {
        return new BaseResponse<>(0, data, "ok");
    }

    /**
     * 失败
     * @param errorCode 错误码
     * @param <T>   泛型
     * @return BaseResponse
     */
    public static BaseResponse<?> error(ErrorCode errorCode) {
        return new BaseResponse<>(errorCode);
    }

    /**
     * 失败
     * @param code 自定义状态码
     * @param message   信息
     * @return BaseResponse
     */
    public static  BaseResponse<?> error(int code, String message) {
        return new BaseResponse<>(code, null, message);
    }

    /**
     * 失败
     * @param errorCode 错误码
     * @param message 自定义信息
     * @return BaseResponse
     */
    public static  BaseResponse<?> error(ErrorCode errorCode, String message) {
        return new BaseResponse<>(errorCode.getCode(), null, message);
    }
}
